package com.chinairi.mall.dao;

import com.chinairi.mall.model.CompShop;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinairi.mall.service.modelobject.CompShopMO;
import com.chinairi.mall.service.modelobject.CompShopManageMO;
import com.chinairi.mall.service.modelobject.HomeShopMO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 企业店铺表 Mapper 接口
 * </p>
 *
 * @author gsl
 * @since 2020-09-06
 */
public interface CompShopMapper extends BaseMapper<CompShop> {

    /**
     * 查询是否已经存在此店铺名称
     * @param shopName
     * @return
     */
    int countSameName(@Param("shopName") String shopName);

    /**
     * 根据用户id和回传类别获取某一个店铺
     * @param type 店铺类别
     * @param id 用户主键
     * @return CompShop
     */
    CompShop getAllByType(@Param("type") String type,@Param("id") String id);

    /**
     * 根据用户id和回传类别获取某一个店铺
     * @param type 店铺类别
     * @param id 用户主键
     * @return CompShop
     */
    CompShop getByType(@Param("type") String type,@Param("id") String id);

    /**
     * 根据条件搜索所有的店铺和供应商
     * @param compShopMo
     * @return
     */
    List<CompShopMO> getAllShopByType(@Param("search") CompShopMO compShopMo);

    /**
     * 获取所有含四新商品的店铺
     * @param compShopMo
     * @return
     */
    List<CompShopMO> getFourNewShop(@Param("search") CompShopMO compShopMo);

    /**
     * csShopName  模糊搜索店铺名称
     * csShopType  精确搜索店铺类别
     * @param homeShopMO
     * @param userId
     * @return
     */
    List<HomeShopMO> selectHomeShop(@Param("search") HomeShopMO homeShopMO, @Param("userId") String userId);

    /**
     * 店铺管理，获取店铺列表。
     * @param compShopManageMo
     * @return
     */
    List<CompShopManageMO> getAllCompShopManageList(@Param("search") CompShopManageMO compShopManageMo);

    /**
     * 获取店铺ID列表
     * @param shopTypeFlag
     * @return
     */
    List<String> getShopIdList(@Param("shopTypeFlag") String shopTypeFlag);

    /**
     * 获取店铺信息+企业名称
     * @param shopIdList
     * @return
     */
    List<CompShopMO> selectByIds(@Param("shopIdList") List<String> shopIdList,@Param("compShopMO") CompShopMO compShopMO);
}
